package cn.byapps.hw.controller;

import cn.byapps.hw.entity.Course;
import cn.byapps.hw.service.CourseServcie;
import cn.byapps.hw.vo.CourseVO;
import cn.byapps.hw.vo.VueData;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping("/api/course")
public class CourseController {

    @Resource
    private CourseServcie courseServcie;

    @GetMapping
    public VueData<CourseVO> courseList(int pos, int rows) {
        if (pos == 0 && rows == 0) {
            return new VueData<>(courseServcie.findVO(), 0);
        }
        int total = courseServcie.count();
        List<CourseVO> courseVOS = courseServcie.findVO(pos, rows);
        return new VueData<>(courseVOS, total);
    }

    @PostMapping
    public VueData<CourseVO> add(@RequestBody Course course) {
        courseServcie.add(course);
        VueData<CourseVO> vue = new VueData<>();
        return vue;
    }

    @DeleteMapping
    public VueData<CourseVO> delete(Integer id) {
        courseServcie.delete(id);
        VueData<CourseVO> vue = new VueData<>();
        return vue;
    }

    @PutMapping
    public VueData<CourseVO> update(@RequestBody Course course) {
        courseServcie.update(course);
        VueData<CourseVO> vue = new VueData<>();
        return vue;
    }
}
